package com.test.test_rest.miner_pool.domain.gen;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class MinerCommodityCriteria {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer mysqlOffset;

    protected Integer mysqlLength;

    protected String isCURD;

    public MinerCommodityCriteria() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * @param mysqlOffset 
	 *            指定返回记录行的偏移量<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public void setMysqlOffset(Integer mysqlOffset) {
        this.mysqlOffset=mysqlOffset;
    }

    /**
     * @param mysqlLength 
	 *            指定返回记录行的最大数目<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public Integer getMysqlOffset() {
        return mysqlOffset;
    }

    /**
     * @param mysqlOffset 
	 *            指定返回记录行的偏移量<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public void setMysqlLength(Integer mysqlLength) {
        this.mysqlLength=mysqlLength;
    }

    /**
     * @param mysqlLength 
	 *            指定返回记录行的最大数目<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public Integer getMysqlLength() {
        return mysqlLength;
    }

    public void setIsCURD(String isCURD) {
        this.isCURD=isCURD;
    }

    public String getIsCURD() {
        return isCURD;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMinerIdIsNull() {
            addCriterion("MINER_ID is null");
            return (Criteria) this;
        }

        public Criteria andMinerIdIsNotNull() {
            addCriterion("MINER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andMinerIdEqualTo(Integer value) {
            addCriterion("MINER_ID =", value, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdNotEqualTo(Integer value) {
            addCriterion("MINER_ID <>", value, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdGreaterThan(Integer value) {
            addCriterion("MINER_ID >", value, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("MINER_ID >=", value, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdLessThan(Integer value) {
            addCriterion("MINER_ID <", value, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdLessThanOrEqualTo(Integer value) {
            addCriterion("MINER_ID <=", value, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdIn(List<Integer> values) {
            addCriterion("MINER_ID in", values, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdNotIn(List<Integer> values) {
            addCriterion("MINER_ID not in", values, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdBetween(Integer value1, Integer value2) {
            addCriterion("MINER_ID between", value1, value2, "minerId");
            return (Criteria) this;
        }

        public Criteria andMinerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("MINER_ID not between", value1, value2, "minerId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("NAME is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("NAME is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("NAME =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("NAME <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("NAME >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("NAME >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("NAME <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("NAME <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("NAME like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("NAME not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("NAME in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("NAME not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("NAME between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("NAME not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andImageIsNull() {
            addCriterion("IMAGE is null");
            return (Criteria) this;
        }

        public Criteria andImageIsNotNull() {
            addCriterion("IMAGE is not null");
            return (Criteria) this;
        }

        public Criteria andImageEqualTo(String value) {
            addCriterion("IMAGE =", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotEqualTo(String value) {
            addCriterion("IMAGE <>", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageGreaterThan(String value) {
            addCriterion("IMAGE >", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageGreaterThanOrEqualTo(String value) {
            addCriterion("IMAGE >=", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageLessThan(String value) {
            addCriterion("IMAGE <", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageLessThanOrEqualTo(String value) {
            addCriterion("IMAGE <=", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageLike(String value) {
            addCriterion("IMAGE like", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotLike(String value) {
            addCriterion("IMAGE not like", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageIn(List<String> values) {
            addCriterion("IMAGE in", values, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotIn(List<String> values) {
            addCriterion("IMAGE not in", values, "image");
            return (Criteria) this;
        }

        public Criteria andImageBetween(String value1, String value2) {
            addCriterion("IMAGE between", value1, value2, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotBetween(String value1, String value2) {
            addCriterion("IMAGE not between", value1, value2, "image");
            return (Criteria) this;
        }

        public Criteria andTipsIsNull() {
            addCriterion("TIPS is null");
            return (Criteria) this;
        }

        public Criteria andTipsIsNotNull() {
            addCriterion("TIPS is not null");
            return (Criteria) this;
        }

        public Criteria andTipsEqualTo(String value) {
            addCriterion("TIPS =", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsNotEqualTo(String value) {
            addCriterion("TIPS <>", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsGreaterThan(String value) {
            addCriterion("TIPS >", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsGreaterThanOrEqualTo(String value) {
            addCriterion("TIPS >=", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsLessThan(String value) {
            addCriterion("TIPS <", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsLessThanOrEqualTo(String value) {
            addCriterion("TIPS <=", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsLike(String value) {
            addCriterion("TIPS like", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsNotLike(String value) {
            addCriterion("TIPS not like", value, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsIn(List<String> values) {
            addCriterion("TIPS in", values, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsNotIn(List<String> values) {
            addCriterion("TIPS not in", values, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsBetween(String value1, String value2) {
            addCriterion("TIPS between", value1, value2, "tips");
            return (Criteria) this;
        }

        public Criteria andTipsNotBetween(String value1, String value2) {
            addCriterion("TIPS not between", value1, value2, "tips");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceIsNull() {
            addCriterion("ORIGINAL_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceIsNotNull() {
            addCriterion("ORIGINAL_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceEqualTo(Integer value) {
            addCriterion("ORIGINAL_PRICE =", value, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceNotEqualTo(Integer value) {
            addCriterion("ORIGINAL_PRICE <>", value, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceGreaterThan(Integer value) {
            addCriterion("ORIGINAL_PRICE >", value, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("ORIGINAL_PRICE >=", value, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceLessThan(Integer value) {
            addCriterion("ORIGINAL_PRICE <", value, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceLessThanOrEqualTo(Integer value) {
            addCriterion("ORIGINAL_PRICE <=", value, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceIn(List<Integer> values) {
            addCriterion("ORIGINAL_PRICE in", values, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceNotIn(List<Integer> values) {
            addCriterion("ORIGINAL_PRICE not in", values, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceBetween(Integer value1, Integer value2) {
            addCriterion("ORIGINAL_PRICE between", value1, value2, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andOriginalPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("ORIGINAL_PRICE not between", value1, value2, "originalPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceIsNull() {
            addCriterion("NOW_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andNowPriceIsNotNull() {
            addCriterion("NOW_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andNowPriceEqualTo(Integer value) {
            addCriterion("NOW_PRICE =", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceNotEqualTo(Integer value) {
            addCriterion("NOW_PRICE <>", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceGreaterThan(Integer value) {
            addCriterion("NOW_PRICE >", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("NOW_PRICE >=", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceLessThan(Integer value) {
            addCriterion("NOW_PRICE <", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceLessThanOrEqualTo(Integer value) {
            addCriterion("NOW_PRICE <=", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceIn(List<Integer> values) {
            addCriterion("NOW_PRICE in", values, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceNotIn(List<Integer> values) {
            addCriterion("NOW_PRICE not in", values, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceBetween(Integer value1, Integer value2) {
            addCriterion("NOW_PRICE between", value1, value2, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("NOW_PRICE not between", value1, value2, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andPowerWasteIsNull() {
            addCriterion("POWER_WASTE is null");
            return (Criteria) this;
        }

        public Criteria andPowerWasteIsNotNull() {
            addCriterion("POWER_WASTE is not null");
            return (Criteria) this;
        }

        public Criteria andPowerWasteEqualTo(BigDecimal value) {
            addCriterion("POWER_WASTE =", value, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteNotEqualTo(BigDecimal value) {
            addCriterion("POWER_WASTE <>", value, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteGreaterThan(BigDecimal value) {
            addCriterion("POWER_WASTE >", value, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("POWER_WASTE >=", value, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteLessThan(BigDecimal value) {
            addCriterion("POWER_WASTE <", value, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteLessThanOrEqualTo(BigDecimal value) {
            addCriterion("POWER_WASTE <=", value, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteIn(List<BigDecimal> values) {
            addCriterion("POWER_WASTE in", values, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteNotIn(List<BigDecimal> values) {
            addCriterion("POWER_WASTE not in", values, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("POWER_WASTE between", value1, value2, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andPowerWasteNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("POWER_WASTE not between", value1, value2, "powerWaste");
            return (Criteria) this;
        }

        public Criteria andManagementPriceIsNull() {
            addCriterion("MANAGEMENT_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andManagementPriceIsNotNull() {
            addCriterion("MANAGEMENT_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andManagementPriceEqualTo(Integer value) {
            addCriterion("MANAGEMENT_PRICE =", value, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceNotEqualTo(Integer value) {
            addCriterion("MANAGEMENT_PRICE <>", value, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceGreaterThan(Integer value) {
            addCriterion("MANAGEMENT_PRICE >", value, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("MANAGEMENT_PRICE >=", value, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceLessThan(Integer value) {
            addCriterion("MANAGEMENT_PRICE <", value, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceLessThanOrEqualTo(Integer value) {
            addCriterion("MANAGEMENT_PRICE <=", value, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceIn(List<Integer> values) {
            addCriterion("MANAGEMENT_PRICE in", values, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceNotIn(List<Integer> values) {
            addCriterion("MANAGEMENT_PRICE not in", values, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceBetween(Integer value1, Integer value2) {
            addCriterion("MANAGEMENT_PRICE between", value1, value2, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andManagementPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("MANAGEMENT_PRICE not between", value1, value2, "managementPrice");
            return (Criteria) this;
        }

        public Criteria andUseCycleIsNull() {
            addCriterion("USE_CYCLE is null");
            return (Criteria) this;
        }

        public Criteria andUseCycleIsNotNull() {
            addCriterion("USE_CYCLE is not null");
            return (Criteria) this;
        }

        public Criteria andUseCycleEqualTo(String value) {
            addCriterion("USE_CYCLE =", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleNotEqualTo(String value) {
            addCriterion("USE_CYCLE <>", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleGreaterThan(String value) {
            addCriterion("USE_CYCLE >", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleGreaterThanOrEqualTo(String value) {
            addCriterion("USE_CYCLE >=", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleLessThan(String value) {
            addCriterion("USE_CYCLE <", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleLessThanOrEqualTo(String value) {
            addCriterion("USE_CYCLE <=", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleLike(String value) {
            addCriterion("USE_CYCLE like", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleNotLike(String value) {
            addCriterion("USE_CYCLE not like", value, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleIn(List<String> values) {
            addCriterion("USE_CYCLE in", values, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleNotIn(List<String> values) {
            addCriterion("USE_CYCLE not in", values, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleBetween(String value1, String value2) {
            addCriterion("USE_CYCLE between", value1, value2, "useCycle");
            return (Criteria) this;
        }

        public Criteria andUseCycleNotBetween(String value1, String value2) {
            addCriterion("USE_CYCLE not between", value1, value2, "useCycle");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayIsNull() {
            addCriterion("ELECTRICITY_FEES_DAY is null");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayIsNotNull() {
            addCriterion("ELECTRICITY_FEES_DAY is not null");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_DAY =", value, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayNotEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_DAY <>", value, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayGreaterThan(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_DAY >", value, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_DAY >=", value, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayLessThan(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_DAY <", value, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_DAY <=", value, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayIn(List<BigDecimal> values) {
            addCriterion("ELECTRICITY_FEES_DAY in", values, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayNotIn(List<BigDecimal> values) {
            addCriterion("ELECTRICITY_FEES_DAY not in", values, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ELECTRICITY_FEES_DAY between", value1, value2, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesDayNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ELECTRICITY_FEES_DAY not between", value1, value2, "electricityFeesDay");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceIsNull() {
            addCriterion("ELECTRICITY_FEES_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceIsNotNull() {
            addCriterion("ELECTRICITY_FEES_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_PRICE =", value, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceNotEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_PRICE <>", value, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceGreaterThan(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_PRICE >", value, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_PRICE >=", value, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceLessThan(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_PRICE <", value, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ELECTRICITY_FEES_PRICE <=", value, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceIn(List<BigDecimal> values) {
            addCriterion("ELECTRICITY_FEES_PRICE in", values, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceNotIn(List<BigDecimal> values) {
            addCriterion("ELECTRICITY_FEES_PRICE not in", values, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ELECTRICITY_FEES_PRICE between", value1, value2, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andElectricityFeesPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ELECTRICITY_FEES_PRICE not between", value1, value2, "electricityFeesPrice");
            return (Criteria) this;
        }

        public Criteria andDailyOutputIsNull() {
            addCriterion("DAILY_OUTPUT is null");
            return (Criteria) this;
        }

        public Criteria andDailyOutputIsNotNull() {
            addCriterion("DAILY_OUTPUT is not null");
            return (Criteria) this;
        }

        public Criteria andDailyOutputEqualTo(BigDecimal value) {
            addCriterion("DAILY_OUTPUT =", value, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputNotEqualTo(BigDecimal value) {
            addCriterion("DAILY_OUTPUT <>", value, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputGreaterThan(BigDecimal value) {
            addCriterion("DAILY_OUTPUT >", value, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("DAILY_OUTPUT >=", value, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputLessThan(BigDecimal value) {
            addCriterion("DAILY_OUTPUT <", value, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputLessThanOrEqualTo(BigDecimal value) {
            addCriterion("DAILY_OUTPUT <=", value, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputIn(List<BigDecimal> values) {
            addCriterion("DAILY_OUTPUT in", values, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputNotIn(List<BigDecimal> values) {
            addCriterion("DAILY_OUTPUT not in", values, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DAILY_OUTPUT between", value1, value2, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andDailyOutputNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DAILY_OUTPUT not between", value1, value2, "dailyOutput");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("START_TIME is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("START_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("START_TIME >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterionForJDBCDate("START_TIME <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterionForJDBCDate("START_TIME in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("START_TIME not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("START_TIME between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("START_TIME not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("END_TIME is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("END_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("END_TIME >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterionForJDBCDate("END_TIME <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterionForJDBCDate("END_TIME in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("END_TIME not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("END_TIME between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("END_TIME not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("CREATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("CREATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("CREATE_TIME =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("CREATE_TIME <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("CREATE_TIME >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CREATE_TIME >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("CREATE_TIME <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("CREATE_TIME <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("CREATE_TIME in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("CREATE_TIME not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("CREATE_TIME between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("CREATE_TIME not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("UPDATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("UPDATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("UPDATE_TIME =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("UPDATE_TIME <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("UPDATE_TIME >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UPDATE_TIME >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("UPDATE_TIME <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("UPDATE_TIME <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("UPDATE_TIME in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("UPDATE_TIME not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("UPDATE_TIME between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("UPDATE_TIME not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andPowerIsNull() {
            addCriterion("POWER is null");
            return (Criteria) this;
        }

        public Criteria andPowerIsNotNull() {
            addCriterion("POWER is not null");
            return (Criteria) this;
        }

        public Criteria andPowerEqualTo(String value) {
            addCriterion("POWER =", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotEqualTo(String value) {
            addCriterion("POWER <>", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThan(String value) {
            addCriterion("POWER >", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThanOrEqualTo(String value) {
            addCriterion("POWER >=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThan(String value) {
            addCriterion("POWER <", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThanOrEqualTo(String value) {
            addCriterion("POWER <=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLike(String value) {
            addCriterion("POWER like", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotLike(String value) {
            addCriterion("POWER not like", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerIn(List<String> values) {
            addCriterion("POWER in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotIn(List<String> values) {
            addCriterion("POWER not in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerBetween(String value1, String value2) {
            addCriterion("POWER between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotBetween(String value1, String value2) {
            addCriterion("POWER not between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andSymbolIsNull() {
            addCriterion("SYMBOL is null");
            return (Criteria) this;
        }

        public Criteria andSymbolIsNotNull() {
            addCriterion("SYMBOL is not null");
            return (Criteria) this;
        }

        public Criteria andSymbolEqualTo(String value) {
            addCriterion("SYMBOL =", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotEqualTo(String value) {
            addCriterion("SYMBOL <>", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolGreaterThan(String value) {
            addCriterion("SYMBOL >", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolGreaterThanOrEqualTo(String value) {
            addCriterion("SYMBOL >=", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolLessThan(String value) {
            addCriterion("SYMBOL <", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolLessThanOrEqualTo(String value) {
            addCriterion("SYMBOL <=", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolLike(String value) {
            addCriterion("SYMBOL like", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotLike(String value) {
            addCriterion("SYMBOL not like", value, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolIn(List<String> values) {
            addCriterion("SYMBOL in", values, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotIn(List<String> values) {
            addCriterion("SYMBOL not in", values, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolBetween(String value1, String value2) {
            addCriterion("SYMBOL between", value1, value2, "symbol");
            return (Criteria) this;
        }

        public Criteria andSymbolNotBetween(String value1, String value2) {
            addCriterion("SYMBOL not between", value1, value2, "symbol");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}